package cn.coisini.model.common.aspect;

import cn.coisini.model.common.annotation.State;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

/**
 * @author xiangshaw
 * Description: 自定义状态校验（ConstraintValidator<给哪一个注解提供校验规则,检验的数据类型>）
 */
public class StateValidationAspect implements ConstraintValidator<State,String> {
    /**
     * @param value 校验数据 0 草稿、1 已发布、2 删除
     * @param context context in which the constraint is evaluated
     * @return 如果返回false,则校验不通过,如果返回true,则校验通过
     */
    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        // 状态检验 （只有当值是0、1或2时返回true，其他情况都返回false。）
        return "0".equals(value) || "1".equals(value) || "2".equals(value);
    }
}